//
//  NetworkManager.h
//  Untitled
//
//  Created by Hunk on 11-3-14.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ASIFormDataRequest.h"

@class ASIFormDataRequest;
typedef enum
{
    NetworkRequest_GetAppVersion = 0,
    NetworkRequest_CacheDeviceToken,
    NetworkRequest_GetJourneyNews,
    NetworkRequest_GetCategory,
    NetworkRequest_GetJourneyNewsByCategoryId,
    NetworkRequest_GetJourneyInfo,
    NetworkRequest_GetJourneyIntroduction,
    NetworkRequest_GetJourneyDetails,
    NetworkRequest_GetJourneySightInfo,
    NetworkRequest_GetJourneyContactInfo,
    NetworkRequest_GetJourneyNotice,
    NetworkRequest_GetMyFavoriteJourney,
    NetworkRequest_UpdateOneJourneyToMyFavorite,
    
    // VISA
    NetworkRequest_GetVisaInfo,
    NetworkRequest_GetVisaAnswers,
    NetworkRequest_GetVisaBaseAndNoticeInfo,
    NetworkRequest_GetVisaNeedPersonalId,
    NetworkRequest_GetVisaNeedProperty,
    NetworkRequest_GetVisaNeedEmployment,
    NetworkRequest_GetVisaNeedStudentChildren,
    NetworkRequest_GetVisaNeedElderly,
    NetworkRequest_GetVisaNeedOthers
    
}NetworkRequestType;

@interface NetworkManager : NSObject 
{
	NSMutableDictionary* requestCallbacks;
}

+ (NetworkManager*)sharedNetworkManager;

-(ASIFormDataRequest *)requestServerForMethod:(NetworkRequestType)methodType 
							   WithParameters:(NSDictionary *)parameters 
							 AndCallBackScope:(id)callBackDelegate 
								AndSuccessSel:(NSString *)successSelector 
								 AndFailedSel:(NSString *)failedSelector;

@end
